package com.college.products.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.college.common.pojo.ao.Products;
import com.college.common.pojo.dto.products.AddProductsDTO;
import com.college.common.pojo.dto.products.QueryProductsDTO;
import com.college.common.pojo.dto.products.UpdateProductsDTO;
import com.college.common.pojo.model.page.PageParamRequest;
import com.college.common.response.CommonResult;

import java.util.List;

/**
 * 商品 服务类
 * @author 小C工作室
 * @since 2025-02-22
 */
public interface ProductsService extends IService<Products> {

    /**
     * 获取商品集合
     *
     * @param queryProductsDTO 查询对象
     * @return 商品集合
     */
    List<Products> queryList(QueryProductsDTO queryProductsDTO);

    /**
     * 获取商品集合分页
     *
     * @param queryProductsDTO 查询对象
     * @param pageParamRequest 分页对象
     * @return 商品集合
     */
    List<Products> queryListPage(QueryProductsDTO queryProductsDTO, PageParamRequest pageParamRequest);

    /**
     * 新增商品
     *
     * @param addProductsDTO 新增商品对象
     * @return 是否成功
     */
    CommonResult<String> addProducts(AddProductsDTO addProductsDTO);

    /**
     * 更新商品
     *
     * @param updateProductsDTO 更新商品对象
     * @return 是否成功
     */
    CommonResult<String> updateProducts(UpdateProductsDTO updateProductsDTO);
}
